package pe.com.bbva.targps.bo.impl;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import pe.com.bbva.targps.bo.DetalleArchivoGPSBO;
import pe.com.bbva.targps.dao.DetalleArchivoGPSDAO;
import pe.com.bbva.targps.domain.DetalleArchivoGPS;
import pe.com.stefanini.core.bo.GenericBOImpl;
import pe.com.stefanini.core.exceptions.BOException;
import pe.com.stefanini.core.exceptions.DAOException;

@Service("detalleArchivoGPSBO")
@SuppressWarnings({"rawtypes","unchecked"})
public class DetalleArchivoGPSBOImpl extends GenericBOImpl implements DetalleArchivoGPSBO{
	Logger logger = Logger.getLogger(this.getClass());
	@Resource 
	private DetalleArchivoGPSDAO detalleArchivoGPSDAO;
	
	public DetalleArchivoGPS findById(Long id) throws BOException {
		DetalleArchivoGPS detalleArchivoGPS = (DetalleArchivoGPS) super.findById(DetalleArchivoGPS.class, id);
		return detalleArchivoGPS;
	}

	public boolean validate(DetalleArchivoGPS detalleArchivoGPS) throws BOException{
		return true;
	}
	
	@Override
	@Transactional(propagation=Propagation.REQUIRED)
	public void save(DetalleArchivoGPS detalleArchivoGPS) throws BOException, DAOException {
		super.save(detalleArchivoGPS);
	}
	
	@Override
	public void delete(DetalleArchivoGPS detalleArchivoGPS) throws BOException {
		super.delete(detalleArchivoGPS);
	}

	@Override
	public List<DetalleArchivoGPS> listaDetalleArchivoGPS() throws DAOException {
		return detalleArchivoGPSDAO.listaDetalleArchivoGPS();
	}

}